<%@ page import="com.informet.ipd.modelo.dao.DependenciaDao" %>
<%@ page import="com.informet.ipd.modelo.vo.DependenciaVO" %>
<%@ page import="com.informet.ipd.struts.form.PEIForm" %>
<%@ page import="java.util.*" %>
<%@ page import="java.math.*" %>
<%@ page import="javax.swing.JOptionPane"%>
<%@ page language="java"  pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %>
<%@ taglib uri="/tags/c" prefix="c"%>

<%
            StringBuffer cadenaSalida = new StringBuffer();
            List lista = null;
            //String desc = request.getParameter("desc");

            

            DependenciaDao supportFacade = new DependenciaDao();
            PEIForm form1 = new PEIForm();
            DependenciaVO depen = null;
            try {
            int tipo = Integer.parseInt(request.getParameter("tipo"));
            int codActPer = Integer.parseInt(request.getParameter("codActPer"));
            int codMetaAPer = Integer.parseInt(request.getParameter("codMetaAPer"));
            double presuActP = Double.parseDouble(request.getParameter("presuActPer"));
            BigDecimal presuActPer=BigDecimal.valueOf(presuActP);
            double numeroinicial = Double.parseDouble(request.getParameter("numeroinicial"));
            double total = Double.parseDouble(request.getParameter("total"));
            double presupuesto = Double.parseDouble(request.getParameter("presupuesto"));
            int cantActPer = Integer.parseInt(request.getParameter("cantActPer"));
            String umActPer=request.getParameter("umActPer");
            String tipActPer=request.getParameter("tipActPer");
                depen = new DependenciaVO(codActPer, presuActPer, codMetaAPer,cantActPer,umActPer,tipActPer);

                double pres=total-numeroinicial+presuActP;
                if(pres>presupuesto){
                    cadenaSalida.append("<table>");
                    cadenaSalida.append("<tr>");
                    cadenaSalida.append("<td>");
                    cadenaSalida.append("<label style='color: #990033' >Presupuesto mayor asignado</label>");
                    cadenaSalida.append("</td>");
                    cadenaSalida.append("<tr>");
                    cadenaSalida.append("</table>");
                }else{
                supportFacade.spManM(tipo, depen);
                }

                    

                String dep=session.getAttribute("dependencia").toString();
               int dependencia=Integer.parseInt(dep);
                lista = supportFacade.getlistaM(dependencia);
                form1.setListaDepen(lista);
                cadenaSalida.append("<table id='tabla1' width='100%' class='userTable'>");
                cadenaSalida.append("<tr class='even' align='center'>");
                cadenaSalida.append("<th class='textoTR'>Objetivo General Estrat&eacute;gico</th>");
                cadenaSalida.append("<th class='textoTR'>Objetivo Espec&iacute;fico Estrat&eacute;gico</th>");
                cadenaSalida.append("<th class='textoTR'>Actividad</th>");
                cadenaSalida.append("<th class='textoTR'>Descripci&oacute;n</th> ");
                cadenaSalida.append("<th class='textoTR'>Cantidad</th> ");
                cadenaSalida.append("<th class='textoTR'>UM</th>");
                cadenaSalida.append("<th class='textoTR'>Presupuesto</th>");
                cadenaSalida.append("<th class='textoTR'>Editar</th> ");

                cadenaSalida.append("</tr>");
                Iterator it = lista.iterator();
                int i=0;
                int flag1=0;
                int flag2=0;
                int flag3=0;
                int flag4=0;
                int flag5=0;
                int flag6=0;
                while (it.hasNext()) {
                    depen = (DependenciaVO) it.next();

                    cadenaSalida.append("<tr align='center'> ");

                    int cont=0;
                    int cont2=0;
                    int cont3=0;
                    int cont5=0;
                        for(i=0;i<lista.size();i++){
                                    DependenciaVO dependen=(DependenciaVO)lista.get(i);
                                    if(dependen.getNUM_CODOBJ_PK()==depen.getNUM_CODOBJ_PK()){
                                        cont=cont+1;
                                        if(dependen.getNUM_CODOBJESP_PK()==depen.getNUM_CODOBJESP_PK()){
                                            cont2=cont2+1;
                                            if(dependen.getNUM_CODACTPERM_PK()==depen.getNUM_CODACTPERM_PK()){
                                                cont3=cont3+1;
                                                if(dependen.getNUM_CODMETAAPERM_PK()==depen.getNUM_CODMETAAPERM_PK()){
                                                cont5=cont5+1;
                                            }
                                            }

                                        }
                                    }
                        }



                    if(flag1!=depen.getNUM_CODOBJ_PK()){
                                    cadenaSalida.append("<td style='width:1500px;text-align: left' align='center' rowspan='" +cont+"'> "+ depen.getTX_DESCOBJ() + "</td>");
                                    flag1=depen.getNUM_CODOBJ_PK();

                                }


                    
                    if(flag2!=depen.getNUM_CODOBJESP_PK()){
                                    cadenaSalida.append("<td style='width:1500px;text-align: left' align='center' rowspan='" +cont2+"'> "+ depen.getTX_DESCOBJESP()+ "</td>");
                                    flag2=depen.getNUM_CODOBJESP_PK();
                                }




                  
                    if(flag3!=depen.getNUM_CODACTPERM_PK()){
                    cadenaSalida.append("<td style='width:1500px;text-align: left' align='center' rowspan='" +cont3+"'> " + depen.getTX_DESCACTPERM() + "</td>");
                                    flag3=depen.getNUM_CODACTPERM_PK();
                                }




                    if(flag5!=depen.getNUM_CODMETAAPERM_PK()){
                    cadenaSalida.append("<td width='10%' align='center rowspan='" +cont5+"'> " + depen.getTX_UMACTPERM() + "</td>");
                    cadenaSalida.append("<td width='10%' align='center' rowspan='" +cont5+"'> " + depen.getNUM_CANTACTPERM() + "</td>");
                    cadenaSalida.append("<td width='10%' align='center' rowspan='" +cont5+"'> " + depen.getTX_TIPOACTPERM() + "</td>");
                    flag5=depen.getNUM_CODMETAAPERM_PK();
                                }



                    if(flag4!=depen.getNUM_CODACTPERM_PK()){
                                    cadenaSalida.append("<td  align='center' rowspan='" +cont3+"'> "+ depen.getNUM_PRESUACTPERM() + "</td>");
                                    flag4=depen.getNUM_CODACTPERM_PK();
                                }

                    if(flag6!=depen.getNUM_CODMETAAPERM_PK()){
                                    cadenaSalida.append("<td width='10%' align='center' rowspan='" +cont5+"'> ");
                                    cadenaSalida.append("<img style='cursor:pointer' title='Editar' alt='Editar' border=0  src='images/b_edit.png' onclick=\"editar(' " + depen.getTX_DESCOBJ() + " ' , ' " + depen.getTX_DESCOBJESP() + " ' ,'" + depen.getNUM_CODACTPERM_PK() + "', ' " + depen.getTX_DESCACTPERM() + " ' ,'" + depen.getNUM_PRESUACTPERM() +"','" + depen.getNUM_CODMETAAPERM_PK() + "' , '" + depen.getTX_UMACTPERM() + "' , '" + depen.getNUM_CANTACTPERM() + "', '"+ depen.getTX_TIPOACTPERM() + "', '"+ supportFacade.sumaM(dependencia) + "', '" + depen.getNUM_PRESUACTPERM() + "' );posicioninicial();\" >");
                                    cadenaSalida.append("</td>");
                                    flag6=depen.getNUM_CODMETAAPERM_PK();
                                }


                    cadenaSalida.append("</tr>");


                    


                    
                    



                    
                }


                
                cadenaSalida.append("<tr align='center'> ");
                if((supportFacade.sumaM(dependencia))<presupuesto){
                    cadenaSalida.append("<td colspan='5' width='10%' align='center' bgcolor='#006600'><font color='#FFFFFF'>Presupuesto falta asignar</font></td>");
                    }else{
                    cadenaSalida.append("<td colspan='5' width='10%' align='center' bgcolor='#FF0000'><font color='#000000'>Presupuesto ajustado</font></td>");
                    }
                    cadenaSalida.append("<td width='10%' align='center'>Totales</td>");
                    cadenaSalida.append("<td width='10%' align='center'>" + supportFacade.sumaM(dependencia) + "</td>");
                    cadenaSalida.append("</tr>");



                   
 cadenaSalida.append("</table>");


            

            } catch (Exception e) {
                cadenaSalida.append("error : " + e.toString());
            }
            out.print(cadenaSalida);
%>